<?php
    /*
     * сущность комметария.
     */
class Model_Comment extends App_Model_Entity
{
    protected $_data = array (
        'id' => null,
        'username'  => null,
        'email'     => null,
        'message'   => null,
        'post_id'   => null,
        'parent_id' => null,
        'date'      => null
    );
    
    protected $_post;
    
    public function __get($field)
    {
        switch ($field){
            case 'post': return $this->getPost();
                break;
            default: return parent::__get($field);
                break;
        }
    }
    // комментарий умеет возрвщать пост в котором содержиьтся, помоему это тут не нада.
    public function getPost()
    {
        if($this->_data['id'] != null && $this->_post === null){
            $postMapper = new Model_PostsMapper();
            $this->_post = $postMapper->getPostByComment($this);    
        }
        return $this->_post;
    }
}